package com.silverbox.shopper.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.silverbox.shopper.entity.extend.CombinationPackage;
import com.silverbox.shopper.entity.extend.NormalPackage;
import com.silverbox.sweeporder.controller.index.vo.GoodsCookingVO;
import com.silverbox.shopper.entity.extend.GoodsPropsExtend;

/**
 * 商品属性
 * @author CAOXJ
 *
 */
public interface GoodsPropsExtendMapper {

	/**
     *  获取菜品绑定属性
     * @param goodsId
     * @param storeId
     * @param shopperId
     * @return
     */
    List<GoodsPropsExtend> getGoodsBindPropsList(@Param("goodsId")Integer goodsId,@Param("shopperId")Integer shopperId,@Param("storeId")Integer storeId);
    
    /** 
     *  获取菜品绑定属性
     * @param goodsId
     * @param storeId
     * @param shopperId
     * @return 
     */
    List<GoodsPropsExtend> getAllGoodsBindPropsList(@Param("shopperId")Integer shopperId,@Param("storeId")Integer storeId);
    
    /**
     *  获取店铺绑定属性
     * @param storeId
     * @return
     */
    List<GoodsPropsExtend> getShopBindPropsList(@Param("shopperId")Integer shopperId,@Param("storeId")Integer storeId);
    
    /**
     * 获取普通套餐
     * @param goodsId
     * @return
     */
    List<NormalPackage> getNormalPackageList(Integer shopperId);
    
    /**
     * 获取所有组合套餐
     * @param shopperId
     * @param storeId
     * @return
     */
    List<CombinationPackage> getCombinationPackageList(@Param("shopperId")Integer shopperId,@Param("storeId")Integer storeId);

    /**
     * 获取单个组合套餐
     * @param shopperId
     * @param storeId
     * @param startDate
     * @param endDate
     * @param nowDate
     * @return
     */
	List<CombinationPackage> getCombinationPackage(@Param("shopperId")Integer shopperId, @Param("storeId")Integer storeId, @Param("startDate")String startDate, @Param("endDate")String endDate,
			@Param("nowDate")String nowDate,@Param("packageId")Integer packageId);

	/**
	 * 获取单个普通套餐
	 * @param shopperId
	 * @param packageId
	 * @return
	 */
	List<NormalPackage> getNormalPackage(@Param("shopperId") Integer shopperId, @Param("storeId") Integer storeId,
			@Param("packageId") Integer packageId);
	
	/**
	 * 获取单个菜品绑定的加价做法
	 * @param goodsId
	 * @param shopperId
	 * @return
	 */
	List<GoodsPropsExtend> getGoodsCookingsList(@Param("goodsId") Integer goodsId, @Param("shopperId") Integer shopperId);
	
	/**
	 * 获取店铺所有菜品绑定的加价做法
	 * @param shopperId
	 * @return
	 */
	List<GoodsPropsExtend> getAllGoodsCookingsList(@Param("shopperId") Integer shopperId);
}
